Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge SQ-10 into master #2754

Merged
merged 29 commits into from
Sep 26, 2024
Merged

merge SQ-10 into master #2754

merged 29 commits into from
Sep 26, 2024

Conversation

guwirth
Copy link
Collaborator

@guwirth guwirth commented Sep 26, 2024

  • close SQ-10 branch
  • stop supporting SQ 7.9 LTS

This change is Reviewable

guwirth and others added 29 commits January 19, 2024 15:16
- CI is testing with SQ 9.9 LTS and SQ 10.3 with Java 17
  - use SonarQube 10.3.0.82913 for testing
  - use SonarScanner 5.0.1.3006 for testing
- pom.xml: use Java 17 as default (Java 11 no more supported)
….15.0.435

Refactor the code to use new artifact sonar-plugin-api-test-fixtures.
Get rid of deprecated LoggerLevel.
…0.3.0.1951

And bump also org.sonarsource.api.plugin:sonar-plugin-api-test-fixtures

Some classes move to org.sonar.api.testfixtures.measure package.
… to 10.3.0.82913

And bump org.sonarsource.sonarqube:sonar-testing-harness
The call /api/measures/component does no longer support query paramter metricKeys=directoriesi.

This request
  curl 'http://localhost:9000/api/measures/component?component=smoketest_project&metricKeys=ncloc,lines,statements,classes,files,directories,functions,comment_lines_density,comment_lines,duplicated_lines_density,duplicated_lines,duplicated_blocks,duplicated_files,complexity,cognitive_complexity,file_complexity,violations,lines_to_cover,coverage,line_coverage,branch_coverage,uncovered_conditions,uncovered_lines,tests,test_failures,test_errors,skipped_tests,test_execution_time,test_success_density,false_positive_issues,open_issues,confirmed_issues,reopened_issues,code_smells,sqale_index,sqale_debt_ratio,bugs,reliability_remediation_effort,vulnerabilities,security_remediation_effort,security_hotspots'

returned error 404 with body:
  {"errors":[{"msg":"The following metric keys are not found: directories"}]}
Change in SonarQube 10.0 for /api/rules/create:
  Drop deprecated keys: 'custom_key', 'template_key', 'markdown_description', 'prevent_reactivation'

The parameter names changed.
  custom_key -> customKey
  template_key -> templateKey
  markdown_description -> markdownDescription

We got for example this error:
 {"errors":[{"msg":"The markdownDescription parameter is missing"}]}
- update <parent>, <sonar.version> and <sonar.plugin.api.version>
- use latest 9.9 and 10.x SQ versions for testing
- use latest actions version
- use org.sonarsource.parent=75.0.0.1943
- align maven packages with cxx V2.1.2
- add requiredForLanguages=cxx,cpp,c++,c
- test with SQ 10.6.0.92116
- test with SonarScanner 5.0.1.3006 (get CI failures with 6.x tbd)
SonarScanner 6.x is a major refactoring of SonarSource. The parameters, default values and especially the output in the LOG file has changed. Because our CI/CD test evaluates the texts in the LOG file, the Pyhton scripts had to be adapted accordingly.

There was a braking change in scanner parameter sonar.host.url:
- For SonarScanner CLI from v6.0, .NET from v7.0, and NPM from v4.0:  https://sonarcloud.io
- For older versions of the SonarScanner CLI, .NET, and NPM:  http://localhost:9000

got the message below:

```
06:50:43.753 INFO  Scanner configuration file: /home/runner/work/sonar-cxx/sonar-cxx/test/sonar-scanner-6.1.0.4477/conf/sonar-scanner.properties
06:50:43.756 INFO  Project root configuration file: /home/runner/work/sonar-cxx/sonar-cxx/integration-tests/testdata/boosttest_project/sonar-project.properties
06:50:43.769 INFO  SonarScanner CLI 6.1.0.4477
06:50:43.772 INFO  Java 17.0.12 Eclipse Adoptium (64-bit)
06:50:43.772 INFO  Linux 6.5.0-1025-azure amd64
06:50:43.779 DEBUG Scanner max available memory: 3 GB
06:50:43.797 DEBUG uname -m returned 'x86_64'
06:50:43.798 DEBUG Create: /home/runner/.sonar/cache
06:50:43.799 INFO  User cache: /home/runner/.sonar/cache
06:50:43.799 DEBUG Create: /home/runner/.sonar/cache/_tmp
06:50:44.107 DEBUG Loaded [413] system trusted certificates
06:50:44.253 INFO  JRE provisioning: os[linux], arch[x86_64]
06:50:44.279 DEBUG --> GET https://api.sonarcloud.io/analysis/jres?os=linux&arch=x86_64
06:50:45.445 DEBUG <-- 401 https://api.sonarcloud.io/analysis/jres?os=linux&arch=x86_64 (1165ms, 83-byte body)
06:50:45.445 INFO  EXECUTION FAILURE
06:50:45.446 INFO  Total time: 1.694s
06:50:45.447 ERROR Error during SonarScanner CLI execution
java.lang.IllegalStateException: Error status returned by url [https://api.sonarcloud.io/analysis/jres?os=linux&arch=x86_64]: 401
	at org.sonarsource.scanner.lib.internal.http.ServerConnection.callUrl(ServerConnection.java:182)
	at org.sonarsource.scanner.lib.internal.http.ServerConnection.callApi(ServerConnection.java:145)
	at org.sonarsource.scanner.lib.internal.http.ServerConnection.callRestApi(ServerConnection.java:123)
	at org.sonarsource.scanner.lib.internal.JavaRunnerFactory.getJreMetadata(JavaRunnerFactory.java:159)
	at org.sonarsource.scanner.lib.internal.JavaRunnerFactory.getJreFromServer(JavaRunnerFactory.java:138)
	at org.sonarsource.scanner.lib.internal.JavaRunnerFactory.createRunner(JavaRunnerFactory.java:85)
	at org.sonarsource.scanner.lib.internal.ScannerEngineLauncherFactory.createLauncher(ScannerEngineLauncherFactory.java:53)
	at org.sonarsource.scanner.lib.ScannerEngineBootstrapper.bootstrap(ScannerEngineBootstrapper.java:118)
	at org.sonarsource.scanner.cli.Main.analyze(Main.java:75)
	at org.sonarsource.scanner.cli.Main.main(Main.java:63)
```
- handle: WARN The properties 'sonar.login' and 'sonar.password' are deprecated and will be removed in the future. Please pass a token with the 'sonar.token' property instead.
. use WEB API to create token and store it in environement variable 'SONAR_TOKEN'
- fix tests: colon removed in LOG file after ERROR, INFO, WARN
- get_url_from_log: INFO is now without colon
- fix warnings in integration tests: scanner using different formats/texts
- test with SQ 9 & SQ 10
- handle: /api/rules/create Parameter 'severity' is deprecated since 10.4 and will be removed in a future version.
- handle: /api/qualityprofiles/activate_rule Parameter 'severity' is deprecated since 10.2 and will be removed in a future version.
- Code scanning: deprecation of CodeQL Action v2
- improve EOL handling on different OS of integration tests
merge cxx v2.1.3 into cxx 2.2.0 branch
@guwirth guwirth added this to the 2.2.0 milestone Sep 26, 2024
@guwirth guwirth self-assigned this Sep 26, 2024
@guwirth guwirth merged commit 39dcdee into master Sep 26, 2024
15 checks passed
@guwirth guwirth deleted the SQ-10 branch September 26, 2024 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants